﻿using Newtonsoft.Json;

namespace Discord.Param;

/// <summary>
/// 绘制请求参数
/// </summary>
public class GeneratePayLoad : BasePayload
{
    [JsonProperty(PropertyName = "data")]
    public GeneratePayLoadInfo Data { get; set; } = new();
}

public class GeneratePayLoadInfo
{
    [JsonProperty(PropertyName = "version")]
    public string Version { get; set; } = "1166847114203123795";

    [JsonProperty(PropertyName = "id")]
    public string Id { get; set; } = "938956540159881230";

    [JsonProperty(PropertyName = "name")]
    public string Name { get; set; } = "imagine";

    [JsonProperty(PropertyName = "type")]
    public int Type { get; set; } = 1;

    [JsonProperty(PropertyName = "options")]
    public List<OptionsInfo> OptionList { get; set; } = new();

    [JsonProperty(PropertyName = "attachments")]
    public List<string> Attachments { get; set; } = new();
}

public class OptionsInfo
{
    [JsonProperty(PropertyName = "type")]
    public int Type { get; set; } = 3;

    [JsonProperty(PropertyName = "name")]
    public string Name { get; set; } = "prompt";

    [JsonProperty(PropertyName = "value")]
    public string Value { get; set; } = "";
}